import store from '@/store/index.js';

/**
 * 语音 视频 通话的js工具类
 */

/**
 * 拉起来电页面提示
 * @param {*} message ： 数据来源于TIM.EVENT.MESSAGE_RECEIVED 事件中的回调数据
 *
 * 通过回调中的数据判断 是不是 语音 或者在线视频消息
 */
export function pullUpCallIn(message = {}) {
	//找到消息 是语音 或者视频的类型
	let { data = [{}] } = message;

	let { payload = {}, nick = '', avatar = '', from = '' } = data[0];

	if (payload && payload.data) {
		let payloadData = JSON.parse(payload.data);
		//console.log(payloadData); //actionType == 1  inviteID 有值
		if (payloadData && payloadData.data && payloadData.actionType === 1) {
			//console.log(JSON.parse(payloadData.data)); //call_type === 1 或者2
			let { call_type = null, room_id = '' } = JSON.parse(
				payloadData.data
			);
			if (call_type === 1 || call_type === 2) {
				//视频或者语音通话的消息 组装数据
				/*
                    {
                        formId:'发起人Id'，
                        formName:'发起人名称',
                        formAvatar:"发起人图像"
                        formGroupId:""
                        callType:1-语音通话，2-视频通话
                        callStatus:0待接听  1正在通话 2 挂断
                    }
                */

				let voiceVodioSessionContent = {
					formId: from,
					formName: nick,
					formAvatar: avatar,
					formGroupId: '',
					callType: call_type,
					callStatus: 0,
					inviteId: payloadData.inviteID,
					roomId: room_id,
				};

				if (
					voiceVodioSessionContent.inviteId &&
					voiceVodioSessionContent.roomId &&
					voiceVodioSessionContent.callType
				) {
					store.commit(
						'imStore/SET_CURRENT_VOICEVIDEO_SESSION_CONTENT',
						voiceVodioSessionContent || null
					);
				}
			}
		}
	}
}
